from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str = '三酷猫'

user = User(id='123')  # Pydantic 会自动将字符串 '123' 转换为整数 123

# 使用新的 API 替换弃用的方法
assert user.id == 123
assert user.name == '三酷猫'
assert user.model_fields_set == {'id'}              # 替换 __fields_set__
assert user.model_dump() == dict(user)              # 替换 .dict()
assert user.model_dump() == {'id': 123, 'name': '三酷猫'}
user.id = 321
assert user.id == 321